In the field of data transfer operations, it has generally been conventional to vary bitrate quality in accordance with the capability of an operating bandwidth of a communication network facilitating the data transfer from a server apparatus to a client apparatus. In the operations, the server apparatus determines the required operating bandwidth (hereinafter, referred to as ‘bandwidth’) for the available stream qualities through a manifest file which typically contains media segments for distribution and related settings. The client apparatus, on the other hand, selects which media segment to download based on an estimated parameter of the data transfer operations such as a bandwidth estimate. In many situations, an inaccurate bandwidth estimate causes many problems. For example, it causes playback interruption if the bandwidth estimate is higher than the actual bandwidth, or, otherwise, it results in non-optimal playback quality if the bandwidth estimate is lower than the actual bandwidth. In such situations, it is highly desirable to provide an estimated parameter of data transfer operations that is accurate enough to prevent disturbances in playback or data streaming at the highest available quality that can be downloaded with the current bandwidth capability of the communication network.
United States Patent Publication No. US 2007/0115814, published on 24 May 2007 and assigned to the Regents of the University of California, discloses in one of its embodiments a data processing apparatus arranged to cause generation of a rate estimate such as a bandwidth estimate and a rate sample based on the rate estimate, wherein the rate sample is exponentially averaged with a previous rate sample to produce smoothed rate estimate using a filter with time varying coefficients, and wherein the filter is embodied by an exponentially-weighted moving average (EWMA) filter, which is one form of a window function, arranged to determine filter gain and vary over time by adapting to a round-trip time (RTT) and other network conditions.
Window function is a mathematical method of taking a snapshot, or a subset, of multiple data points (instantaneous measurement) in a time series to be manipulated, processed, and analyzed. Values within the scope of the window defined by the window function may be taken as is or selected after being multiplied by a certain gain factor. Values outside the scope of the window, on one hand, are zero. The weight factors of the values inside the scope of the window may have certain effect on the estimate that the window function produces. Characteristics of the data affected by these weight factors may include smoothness, response to burst, etc. The data processing apparatus of the above mentioned related art is expected to provide a data processing apparatus that functions to prevent disturbances in playback or data streaming by way of applying the EWMA filter. It is, however, difficult to neglect the fact that each window function serving as the EWMA filter behaves differently relative to the others in respect of specific applications and signal types and properties.
In one instance, the underlying patterns from data in a hypertext transfer protocol (HTTP) based streaming rapidly change. Requests for transmission of data from one computer made through HTTP utilize transmission control protocol (TCP) as its underlying communication protocol. TCP has its own congestion avoidance, retransmission, and bandwidth control algorithms. One pertinent characteristic of TCP is its spurious throughput fluctuations. This fluctuation affects the accuracy of the process for determining an estimated operating bandwidth from instantaneous throughput measurements. A time-series analysis process utilizing only one window function as a filter such as the aforesaid EWMA may not be sufficient in capturing or reacting to underlying patterns from rapidly changing data. In this regard, a problem associated with the data processing apparatus of the above mentioned related art is that use of one type of window function in a time-series as a filter for producing smoothed rate estimate, i.e., bandwidth estimate, may not be effective at all times. The reason is that the best type of window function and its periodic behavior in terms of time-domain representations depend on each specific application as well as on the underlying patterns from rapidly changing data.
A need therefore exists for a data transfer apparatus and related computer-implemented method and data stream capable of providing data transfer operations and estimating parameters, which include throughput, of data transfer across a communication network. The present disclosure provides a method and apparatus, whereby values associated with the throughput are accurately estimated in a time series at all times notwithstanding spurious throughput fluctuations and inherent variable network conditions.
The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the present disclosure.